package com.cskaoyan.market.controller;

import com.cskaoyan.market.component.GlobalSessionHolder;
import com.cskaoyan.market.db.domain.MarketUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpSession;

/**
 * @Author 远志 zhangsong@cskaoyan.onaliyun.com
 * @Date 2024/6/29 10:02
 * @Version 1.0
 */
@RestController
@RequestMapping("wx/user")
public class WxUserController {

    @Autowired
    GlobalSessionHolder sessionHolder;

    //发送这个请求时，并没有携带任何的请求参数，你怎么知道应该去查询哪个用户的订单信息？？？session
    @GetMapping("index")
    public Object index(@RequestHeader("X-CskaoyanMarket-Token")String token){
        //此时通过session域获取到的数据是null，为什么呢？因为小程序不会携带cookie
        //怎么办？？？？
        //两种方案：
        //方案1：userId固定写死，写1，讲完shiro之后，使用shiro来进行会话管理
        //方案2：用户登录之后，将session的编号和session对象存入到一个map中，后续获取X-CskaoyanMarket-Token请求头，获取session的编号，取出原来的session对象
//        MarketUser user = (MarketUser) session.getAttribute("user");
        HttpSession session = sessionHolder.getSession(token);
        MarketUser user = (MarketUser) session.getAttribute("user");
//        System.out.println(user);
        return null;
    }
}
